<?php

namespace app\adminapi\controller;

use think\Controller;
use think\facade\Request;
use app\adminapi\model\Admin;

class Login extends BaseApi
{
    //验证码

    //获取验证码地址
    public function captcha()
    {
        //验证码编号
        $uniqid = uniqid();
        //返回数据:图片地址，验证码编号
        $data = [
            'src' => "http://adminapi.pyg.com".captcha_src($uniqid),
            'uniqid' => $uniqid
        ];
        $this->ok($data);
    }
    // 登录接口
    public function login()
    {
        // 接受参数
        $data = Request::param();
        // $this->ok($data);

        // 验证
        // 验证规则
        $rule = [
            'username|用户名' => 'require',
            'password|密码' => 'require',
            // 'code|验证码'=>'require'
        ];
        // 错误信息
        $msg = [
            'username' => '用户名不能为空',
            'password' => '密码不能为空',
            // 'code' => '验证码不能为空',
            // 'code.captcha'=>'验证码错误'
        ];
        $validate = new \think\Validate($rule, $msg);

        if (!$validate->check($data)) {
            $err = $validate->getError();
            $this->fail($err);
        }
        // 根据用户名和密码，查询管理员是否存在
        $info = Admin::where('username', $data['username'])->where('password', $data['password'])->find();
        // 如果错误，给提示
        if (!$info) {
            $this->fail('用户名或者密码错误');
        }
        // 如果成功，返回数据
        $res = [
            'id' => $info['id'],
            'username' => $info['username'],
            'password' => $info['password'],
            'email'=>$info['email']
        ];
       $this->ok($res);
    }
    // 1.路由文件中，创建登录接口
    // 2.创建管理员表的模型
    // 3.在login控制器中的login方法中写登录逻辑登录业务
    // 1.接收参数
    // 2.验证参数是否为空
    // 3.如果为空，返回错误信息
    // 4.如果不为空，去数据库中验证用户名和密码是否正确
    // 5.如果错误，返回错误信息
    // 6.如果正确，返回数据（ID用户名，用户名称，邮箱）
}
